The present invention relates to a tone generation apparatus capable of efficiently generating tones even where the number of tone generating channels is increased.
Among the conventionally-known tone generation apparatus are ones which include: a performance information input section that receives performance information from any of a MIDI (Musical Instrument Digital Interface), keyboard, sequencer, etc.; a control section (CPU) that generates tone generator parameters for use in tone generation; and a tone generator section that generates tones on the basis of the tone generator parameters. In response to input performance information, the control section (CPU) performs control processing, such as channel assignment and generation of tone generator parameters, and supplies a tone generation start instruction and tone parameters to the tone generator section. The tone generator section includes a tone generator register for storing therein tone parameters for use in tone generation, and a tone generation processing section that performs tone generation processing. The tone parameters supplied from the control section (CPU) are stored into the tone generator register, and the tone generation processing section performs the tone generation processing on the basis of the tone parameters stored in the tone generator register. By the tone generation processing being performed on the basis of the tone parameters stored in the tone generator register like this, a tone is generated as instructed by the control section (CPU). As the tone generator section, there has heretofore been known a waveform-memory type tone generator that includes a waveform memory having actual tone waveforms recorded therein as waveform data. Different waveform data (more specifically, different waveform data set) is stored for each of various tone colors and for each of various pitch ranges in such a waveform-memory type tone generator, and the tone generation processing section reads out waveform data corresponding to a tone color and tone pitch of a tone to be generated and then characteristics of the read-out waveform data are controlled by use of control waveforms, such as a tone volume control envelope, generated on the basis of the tone generator parameters. Further, in order to simultaneously generate a plurality of tones, a plurality of tone generating channels are formed in the tone generation processing section, and the tone generation processing is performed time-divisionally in the individual tone generating channels. Thus, per sampling period, tone waveform samples are arithmetically generated in the plurality of tone generating channels, so that tones corresponding in number to the tone generating channels are generated.
Once a new tone generation command (i.e., note-on event) is generated, an empty tone generating channel is detected and assigned to the tone generation, and a tone is generated in the assigned tone generating channel. Note that the empty tone generating channel means a free channel which is not assigned to generate any tone currently. In such a case, if the tone generation processing is currently being performed in all of the tone generating channels, i.e. if all of the tone generating channels are currently assigned to tone generation, one of the tone generating channels which would present the least influence even if the tone generation in that channel is stopped on the way is selected. Then, so-called truncate processing is performed on the selected tone generating channel, in which the tone volume of the tone being generated in the selected tone generating channel is attenuated (or dumped) rapidly and the selected tone generating channel is released for new tone generation. Further, it has been a common practice in the art to select, as the channel where the truncate processing is to be performed (i.e., truncate channel), the channel where the tone currently being generated therein is the smallest in volume among all of the tone generating channels.
Generally, in such tone generation apparatus, an output section is of a stereo construction, and, in order to generate a high-quality tone, stereo waveform data are prestored in the waveform memory so that stereo waveform data corresponding to a tone to be generated is read out from the waveform memory to generate stereo tones.
In order to perform one stereo tone generation, i.e. for generation of left-channel and right-channel tones, it has been conventional for the known tone generation apparatus to use two tone generating channels. Namely, the control section (CPU) performs tone generation assignment processing for assigning two tone generating channels as the left and right channels to thereby secure or reserve the two tone generating channels. Further, because tone generator parameters for the individual tone generating channels (i.e., tone-generating-channel-specific tone generator parameters) are stored in the tone generator register, tone generator parameters for the left and right channels are stored in the tone generator register. The tone generation processing section reads out, on the basis of the tone-generating-channel-specific tone generator parameters, waveform data from the waveform memory at a rate corresponding to a designated tone pitch and then controls tone characteristics of the read-out waveform data by use of control waveforms, such as a tone volume control envelope. Namely, in the tone generating channel assigned as the left channel, left-channel waveform data is read out from the waveform memory and the tone characteristics of the read-out waveform data are controlled, on the basis of the tone generator parameters for the left channel, to generate tone waveform data of the left channel. Similarly, in the tone generating channel assigned as the right channel, right-channel waveform data is read out from the waveform memory and the tone characteristics of the read-out waveform data are controlled, on the basis of the tone generator parameters for the right channel, to generate tone waveform data of the right channel.
With the aforementioned conventionally-known tone generation apparatus, where two tone generating channels are required for generation of stereo tone waveform samples, there has been a need to increase the number of the tone generating channels, and there has been a tendency of increasing the number of tone generating channels capable of being handled by tone generating integrated circuitry (tone generator LSI). However, there is also encountered the problem that the increased number of tone generating channels in the tone generator section would lead to increased loads of various processing, such as tone generation assignment processing in which, in response to a tone generation instruction, a tone generating channel is assigned from among a multiplicity of tone generating channels that are objects of tone generator control processing performed by the control section (CPU), parameter setting processing for setting parameters of the multiplicity of tone generating channels into the tone generator register, etc. Also, the increased number of channels in the tone generator section would lead to an increased size or scale of the tone generating integrated circuitry. Furthermore, in order to control characteristics of the tone generating channels currently generating stereo tones in the tone generation processing section, control processing has to be performed for both of the left and right channels, and thus, the load on the tone generation processing section would increase. In such a case, although monaural tone generation requires controlling of characteristics of only one channel, the stereo tone generation requires simultaneous controlling of characteristics of the left and right channels within a same sampling period, because, otherwise, tones different in characteristic between the left channel and the right channel would be undesirably generated depending on the timing of tone generation, which would further increase the load on the tone generation processing section. Examples of such conventionally-known tone generation apparatus are disclosed in Japanese Patent Nos. 2671690, 3666346 and 2915452.